/**
 * Copyright (C), 2020, Y2 T205
 * FileName: CartService
 * Author: Lenovo
 * Date: 2020-05-26 21:24
 * Description:
 * History:
 * <author> <time> <version> <desc>
 * 作者姓名 修改时间 版本号 描述
 */


package com.atguigu.gulimall.cart.service;


import com.atguigu.gulimall.cart.vo.Cart;
import com.atguigu.gulimall.cart.vo.CartItem;

import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 *
 * @author Lenovo
 * @create 2020-05-26
 * @since 1.0.0
 */

public interface CartService {

//将某个商品添加到购物车
    CartItem addToCart(Long skuId, Integer num) throws ExecutionException, InterruptedException;
//获取购物车的商品
    CartItem getCartItem(Long skuId);
//获取整个购物车
    Cart getCart() throws ExecutionException, InterruptedException;

//    清除购物车的方法
       void clearCart(String cartKey);
//勾选购物项
    void checkItem(Long skuId, Integer check);
//修改购物项的数量
    void changeItemCount(Long skuId, Integer num);
//删除购物车中的商品
    void deleteItem(Long skuId);
//获取登录用户的购物车中选中的商品信息集合
    List<CartItem> getUserCartItems();
}
